A conventional authentication system includes a user authentication token, a user computer, and an authentication server which connects to the user computer over a network. For the user to authenticate to the authentication server, the user physically plugs the user authentication token into the user computer. One conventional user authentication token plugs into a USB port of the user computer.
After the authentication token is physically plugged into the user computer, the authentication token dynamically generates tokencodes such as a one-time passcode (OTP), and supplies the generated tokencode as well as a digital certificate to an application upon request via the Personal Computer/Smart Card (PC/SC) interface of the user computer.
Current software packages in the form of virtual smart cards are capable of providing OTPs and digital certificates for use by a certain set of specialized applications.